package com.crmweb.dao;

import java.util.List;
import java.util.Map;

import org.springframework.data.repository.query.Param;

import com.crmweb.entity.Modules;
import com.crmweb.entity.Roles;

public interface RolesDao {
	
		/**
		 * 新增角色
		 * */
	   public int saveRole(String name);
		
	   /**
	    * 编辑角色
	    * */
	   public int updateRole(Roles roles);
	   
	   /**
	    * 删除角色
	    * */
	   public int deleteRole(String rolesId);
	   
	   /**
	    * 根据角色名称获取角色对象
	    * */
	   public Roles getRoleByName(String rolesName);
	   
	   /**
	    * 根据用户Id获取所有角色信息
	    * */
	   public List<Roles> getRolesByUserId(String usersId);
	   
	   /**
	    * 根据角色Id获取角色信息
	    * */
	   public Roles getRoleByRoleId(String rolesId);
	   
	   /**
	    * 获取所有角色的总数
	    * */
	   public int getCount();
	   
	   /**
	    * 获取所有的角色
	    * */
	   public List<Roles> getAllRoles();
	   
	   /**
	    * 获取分页的角色集合
	    * */
	   public List<Roles> getRolesByCondition(Roles role);
	   
		/**
		 * 给当前角色设置模块；
		 * 查询当前所有的模块
		 */
		public List<Modules> selAllModules();
		/**
		 * 查询当前角色拥有的模块
		 */
		public List<Integer> selModulesIdByRid(@Param("id")String rid);
		/**
		 * 给角色添加模块
		 */
		public int addModulesByRolesId(String rid,List<Integer> list);
		/**
		 * 删除角色所有模块
		 * @param roleid
		 * @return
		 */
		public int delModulesByrolesId(String roleid);
		
}
